package com.aliyun.messagemgt.dto.vo;

import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;

import java.util.Date;

/**
 * @author
 * @date
 */
public class PlanInfoVO {
    private Integer planId;

    private Integer sceneTemplateId;

    private String templateName;

    private Byte pushTriggerType;

    private String cronContent;

    private String pushCron;

    private Byte pushMessageType;

    private String pushCalculateCode;

    private Integer pushChannelId;

    private String channelName;

    private String pushUserIds;

    private String pushOrgIds;

    private Integer pushLabelId;

    @JsonFormat( pattern="yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
    private Date startTime;

    @JsonFormat( pattern="yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
    private Date endTime;

    private Byte planState;

    private String owner;

    private String ownerDept;

    private String ownerDeptName;

    private String planName;

    private String planDescription;

    @JsonFormat( pattern="yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
    private Date timeStateChange;

    private Byte auditStatus;

    private String auditDescribe;

    private Byte stateDelete;


    @JsonFormat( pattern="yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
    private Date timeCreate;

    private String userCreate;

    @JsonFormat( pattern="yyyy-MM-dd HH:mm:ss" ,timezone = "GMT+8")
    private Date timeUpdate;

    private String userUpdate;

    private Integer dataPrivilege;

    public Integer getPlanId() {
        return planId;
    }

    public PlanInfoVO setPlanId(Integer planId) {
        this.planId = planId;
        return this;
    }

    public Integer getSceneTemplateId() {
        return sceneTemplateId;
    }

    public PlanInfoVO setSceneTemplateId(Integer sceneTemplateId) {
        this.sceneTemplateId = sceneTemplateId;
        return this;
    }

    public String getTemplateName() {
        return templateName;
    }

    public PlanInfoVO setTemplateName(String templateName) {
        this.templateName = templateName;
        return this;
    }

    public Byte getPushTriggerType() {
        return pushTriggerType;
    }

    public PlanInfoVO setPushTriggerType(Byte pushTriggerType) {
        this.pushTriggerType = pushTriggerType;
        return this;
    }

    public String getCronContent() {
        return cronContent;
    }

    public PlanInfoVO setCronContent(String cronContent) {
        this.cronContent = cronContent;
        return this;
    }

    public String getPushCron() {
        return pushCron;
    }

    public PlanInfoVO setPushCron(String pushCron) {
        this.pushCron = pushCron;
        return this;
    }

    public Byte getPushMessageType() {
        return pushMessageType;
    }

    public PlanInfoVO setPushMessageType(Byte pushMessageType) {
        this.pushMessageType = pushMessageType;
        return this;
    }

    public String getPushCalculateCode() {
        return pushCalculateCode;
    }

    public PlanInfoVO setPushCalculateCode(String pushCalculateCode) {
        this.pushCalculateCode = pushCalculateCode;
        return this;
    }

    public Integer getPushChannelId() {
        return pushChannelId;
    }

    public PlanInfoVO setPushChannelId(Integer pushChannelId) {
        this.pushChannelId = pushChannelId;
        return this;
    }

    public String getChannelName() {
        return channelName;
    }

    public PlanInfoVO setChannelName(String channelName) {
        this.channelName = channelName;
        return this;
    }

    public String getPushUserIds() {
        return pushUserIds;
    }

    public PlanInfoVO setPushUserIds(String pushUserIds) {
        this.pushUserIds = pushUserIds;
        return this;
    }

    public String getPushOrgIds() {
        return pushOrgIds;
    }

    public PlanInfoVO setPushOrgIds(String pushOrgIds) {
        this.pushOrgIds = pushOrgIds;
        return this;
    }

    public Integer getPushLabelId() {
        return pushLabelId;
    }

    public PlanInfoVO setPushLabelId(Integer pushLabelId) {
        this.pushLabelId = pushLabelId;
        return this;
    }

    public Date getStartTime() {
        return startTime;
    }

    public PlanInfoVO setStartTime(Date startTime) {
        this.startTime = startTime;
        return this;
    }

    public Date getEndTime() {
        return endTime;
    }

    public PlanInfoVO setEndTime(Date endTime) {
        this.endTime = endTime;
        return this;
    }

    public Byte getPlanState() {
        return planState;
    }

    public PlanInfoVO setPlanState(Byte planState) {
        this.planState = planState;
        return this;
    }

    public String getOwner() {
        return owner;
    }

    public PlanInfoVO setOwner(String owner) {
        this.owner = owner;
        return this;
    }

    public String getOwnerDept() {
        return ownerDept;
    }

    public PlanInfoVO setOwnerDept(String ownerDept) {
        this.ownerDept = ownerDept;
        return this;
    }

    public String getOwnerDeptName() {
        return ownerDeptName;
    }

    public PlanInfoVO setOwnerDeptName(String ownerDeptName) {
        this.ownerDeptName = ownerDeptName;
        return this;
    }

    public String getPlanName() {
        return planName;
    }

    public PlanInfoVO setPlanName(String planName) {
        this.planName = planName;
        return this;
    }

    public String getPlanDescription() {
        return planDescription;
    }

    public PlanInfoVO setPlanDescription(String planDescription) {
        this.planDescription = planDescription;
        return this;
    }

    public Date getTimeStateChange() {
        return timeStateChange;
    }

    public PlanInfoVO setTimeStateChange(Date timeStateChange) {
        this.timeStateChange = timeStateChange;
        return this;
    }

    public Byte getAuditStatus() {
        return auditStatus;
    }

    public PlanInfoVO setAuditStatus(Byte auditStatus) {
        this.auditStatus = auditStatus;
        return this;
    }

    public String getAuditDescribe() {
        return auditDescribe;
    }

    public PlanInfoVO setAuditDescribe(String auditDescribe) {
        this.auditDescribe = auditDescribe;
        return this;
    }

    public Byte getStateDelete() {
        return stateDelete;
    }

    public PlanInfoVO setStateDelete(Byte stateDelete) {
        this.stateDelete = stateDelete;
        return this;
    }

    public Date getTimeCreate() {
        return timeCreate;
    }

    public PlanInfoVO setTimeCreate(Date timeCreate) {
        this.timeCreate = timeCreate;
        return this;
    }

    public String getUserCreate() {
        return userCreate;
    }

    public PlanInfoVO setUserCreate(String userCreate) {
        this.userCreate = userCreate;
        return this;
    }

    public Date getTimeUpdate() {
        return timeUpdate;
    }

    public PlanInfoVO setTimeUpdate(Date timeUpdate) {
        this.timeUpdate = timeUpdate;
        return this;
    }

    public String getUserUpdate() {
        return userUpdate;
    }

    public PlanInfoVO setUserUpdate(String userUpdate) {
        this.userUpdate = userUpdate;
        return this;
    }

    public Integer getDataPrivilege() {
        return dataPrivilege;
    }

    public PlanInfoVO setDataPrivilege(Integer dataPrivilege) {
        this.dataPrivilege = dataPrivilege;
        return this;
    }

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}